#pragma once

#include "Widget.h"
#include "Glyph.h"

namespace My {

class Slider : public Widget
{
private:
	int		m_HorzGap;
	int		m_VertGap;
	int		m_ChannelHeight;
	Glyph	m_Thumb;
	int		m_ChannelLeft;
	int		m_ChannelWidth;
	int		m_StartPos;
	int		m_StartMouse;
public:
	Slider();
public:
	virtual double GetValue() const = 0;
	virtual void SetValue(double v) = 0;
public:
	virtual void HandleLeftDown(unsigned int flags, const CPoint & p);
	virtual bool HandleDragStart(unsigned int flags, const CPoint & p0, const CPoint & p);
	virtual void HandleDragging(unsigned int flags, const CPoint & p);
	virtual void HandlePaint(CDC * pDC, const CRect & r);
};

} // My